/*
 *  Objet.h
 *  Ray Tracing
 *
 *  Les formes c'est bien, mais avec un materiau, c'est super
 *
 *  Created by Jean-Marc Comby + Romain Dequesne on Wed May 12 2004.
 *  Copyright (c) 2004. All rights reserved.
 *
 */

#ifndef _OBJET_H
#define _OBJET_H

class Forme;
class Materiau;

/**
 * Un objet est déterminé par une forme et ses propriétés optiques. Un
 * Objet encapsule donc un pointeur sur une Forme et un pointeur sur
 * un Materiau.
 *
 * @author Jean-Marc Comby + Romain Dequesne
 * @author Johan "Solo" Luisier
 *
 * @date 12 Mai 2004
 */
class Objet
{
public:	
  Objet(Materiau* = 0, Forme* = 0);
  virtual ~Objet();
  Forme* volume() const;
  Materiau* habillage() const;
private:
  /**
   * Pointeur sur la forme de l'Objet.
   */
  Forme* Volume;
  /**
   * Pointeur sur le matériau de l'Objet.
   */
  Materiau* Habillage;

};

#endif
